<!DOCTYPE html>
<html>
<head>
	<title>定时器案例</title>
</head>
<body>
<script type="text/javascript">
	
for (var i = 0; i < 3; i++) {
	setTimeout(function() {
		console.log(i)			// 结果全是3
	}, 10);
}
/* 代码分析
	1. 首先setTimeout函数是一个异步的函数,系统会将异步函数放在任务队列中
	2. for函数是立即执行函数
	3. 当立即函数执行完成之后,系统会通过消息循环取出异步函数执行
*/

for (var i = 0; i < 3; i++) {
	(function(i) {
		setTimeout(function() {
			console.log(i)			// 结果0 1 2
		}, 10);
	})(i)
}

</script>
</body>
</html>